ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
↳ QTRS
↳ Overlay + Local Confluence
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → U11(ack_in(m, s(0)))
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
U21(ack_out(n), m) → ACK_IN(m, n)
U21(ack_out(n), m) → U22(ack_in(m, n))
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
U21(ack_out(n), m) → ACK_IN(m, n)
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), 0) → ACK_IN(m, s(0))
ACK_IN(s(m), s(n)) → U21(ack_in(s(m), n), m)
Used ordering: Combined order from the following AFS and order.
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
U21(ack_out(n), m) → ACK_IN(m, n)
[ACKIN1, U211] > s1 > 0 > [ackout, ackin, u111]
[ACKIN1, U211] > s1 > u212 > u221 > [ackout, ackin, u111]
U211: [1]
u221: [1]
u212: [1,2]
s1: [1]
0: multiset
u111: [1]
ackin: []
ACKIN1: [1]
ackout: []
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
U21(ack_out(n), m) → ACK_IN(m, n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK_IN(s(m), s(n)) → ACK_IN(s(m), n)
s1 > ACKIN1
s1: [1]
ACKIN1: [1]
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
ack_in(0, n) → ack_out(s(n))
ack_in(s(m), 0) → u11(ack_in(m, s(0)))
u11(ack_out(n)) → ack_out(n)
ack_in(s(m), s(n)) → u21(ack_in(s(m), n), m)
u21(ack_out(n), m) → u22(ack_in(m, n))
u22(ack_out(n)) → ack_out(n)
ack_in(0, x0)
ack_in(s(x0), 0)
u11(ack_out(x0))
ack_in(s(x0), s(x1))
u21(ack_out(x0), x1)
u22(ack_out(x0))